package com.moodincode.taskcenter.bean;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 单个定时任务
 * @author moodincode
 */
@Data
public class TaskInfo {
    /**
     * 任务ID，默认系统时间戳
     */
    private String id;
    /**
     * 任务名称
     */
    private String name="";
    /**
     * 任务描述
     */
    private String desc="";
    /**
     * 计划执行次数,默认为0
     */
    private Integer planExe=0;
    /**
     * 任务组名称
     */
    private String group="";
    /**
     * 任务组描述
     */
    private String groupDesc="";
    /**
     * 任务时间表达式
     */
    private String cron="";
    /**
     * 表达式描述
     */
    private String cronDesc="";
    /**
     * 触发器名称
     */
    private String trigger="";
    /**
     * 触发器描述
     */
    private String triggerDesc="";
    /**
     * 执行的类
     */
    private String cls;
    /**
     * 执行的方法
     */
    private String method;
    /**
     * 任务被执行过多少次
     */
    private Integer execute=0;
    /**
     * 最后一次开始执行时间
     */
    private Long lastExeTime=0L;
    /**
     * 最后一次执行完成时间
     */
    private Long lastFinishTime=0L;
    /**
     * 任务状态，NONE, NORMAL, PAUSED, COMPLETE, ERROR, BLOCKED
     */
    private Integer state=1;
    /**
     * 延迟启动，默认为0，表示不延迟启动
     */
    private Integer delay=0;
    /**
     * 要执行的脚本
     */
    private String script;
    /**
     * 只记录最近10条日志
     */
    private List<String> logs=new ArrayList<>(10);
}
